A | B | C | D | E | F | G | H | CH | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
Návrhový vzor Command zapouzdřuje operaci a její parametry do objektu tak, aby šla kdykoliv později zavolat. Potřebné informace většinou zahrnují typ operace, názvy parametrů a jejich hodnoty.
Uživatel nejprve vytvoří instance příkazů, které chce provést. K dispozici má i výkonný objekt, kterému příkazy předá. Výkonný objekt vykoná režii kolem spuštění (například uložení do historie) a příkazy spustí. Každý příkaz potom vykoná svou práci na svém podřízeném objektu.
Příklady použití:
- definice akcí pro tlačítka GUI (v jazyce JAVA je to rozhraní Action)
- nahrávání makra (posloupnosti příkazů lze načítat a ukládat)
- historie operací s možností Undo / Redo
- vícevláknové zpracovávání (operace se ukládají do fronty a na pozadí je zpracovávají vlákna)
- transakční zpracování (operace se nashromáždí a na požádání atomicky spustí)
Implementace v jazyce Scala
trait Operace {
def spustit()
}
class Vypinac {
private var historie: List = Nil
def provest(cmd: Operace) {
cmd.spustit()
this.historie :+= cmd
}
}
class Zarovka {
def zapnout() = println("Sviti")
def vypnout() = println("Nesviti")
}
class ZapnoutZarovku(zarovka: Zarovka) extends Operace {
def spustit() = zarovka.zapnout()
}
class VypnoutZarovku(zarovka: Zarovka) extends Operace {
def spustit() = zarovka.vypnout()
}
object ZkouskaZarovky {
def main(args: Array) {
val zarovka = new Zarovka()
val zapnout = new ZapnoutZarovku(zarovka)
val vypnout = new VypnoutZarovku(zarovka)
val vypinac = new Vypinac()
vypinac.provest(zapnout);
vypinac.provest(vypnout);
vypinac.provest(zapnout);
vypinac.provest(vypnout);
}
}
Související články
Externí odkazy
- Obrázky, zvuky či videa k tématu Command na Wikimedia Commons
Reference
Text je dostupný za podmienok Creative Commons Attribution/Share-Alike License 3.0 Unported; prípadne za ďalších podmienok. Podrobnejšie informácie nájdete na stránke Podmienky použitia.
Age of Empires
Age of Empires: The Rise of Rome
AIKA Online
Akčná hra (žáner počítačových hier)
Angry Birds
Arena Albionu
Arkáda (žáner počítačových hier)
Armed Assault
Battlefield 1
Battle Royale (žáner)
Canaan Online
Command & Conquer 3: Tiberium Wars
Company of Heroes
Czech soccer manager
Dark Age of Camelot
Duke Nukem 3D
Duke Nukem II
EA Sports
Entertainment Software Rating Board
Factor 5
Fallout 3
FIFA 07
FIFA 13
First-person shooter
Game over
Gothic 3
Grand Theft Auto: Vice City
Granny (hra)
Hitman (séria)
Hra jedného hráča
Hra viacerých hráčov
Hytale
Icewind Dale
Id Software
Insomnia (počítačová hra)
Interaktívny film
Ion Storm
Klingon Academy
Left 4 Dead
Left 4 Dead 2
Lineage
LucasArts
Massively-Multiplayer Online Role-Playing Game
MechCommander
MechCommander 2
MechWarrior (séria)
MechWarrior 2: 31st Century Combat
Medal of Honor: Airborne
Medal of Honor: Pacific Assault
Medal of Honor (séria)
Men of Valor
Metal Gear
Myst
NHL 09
NHL 13
No One Lives Forever 2: A Spy In H.A.R.M.’s Way
Pingus
Quadrax
Return to Castle Wolfenstein
Rise of Nations
Rogue Entertainment
S.T.A.L.K.E.R.: Clear Sky
S.T.A.L.K.E.R.: Shadow of Chernobyl
SimCity
SiN
Sonic the Hedgehog
StarCraft: Brood War
Star Wars Episode I: The Phantom Menace (počítačová hra)
Star Wars Rogue Squadron III: Rebel Strike
Steam (program)
Team Fortress Classic
The Binding of Isaac
The Sims 3: Ročné obdobia
Third-person shooter
Tower defense
Tux Racer
Unterhaltungssoftware Selbstkontrolle
Warcraft (séria)
Warcraft III: Reign of Chaos
Watch Dogs 2
Wolfenstein 3D
Text je dostupný za podmienok Creative
Commons Attribution/Share-Alike License 3.0 Unported; prípadne za ďalších
podmienok.
Podrobnejšie informácie nájdete na stránke Podmienky
použitia.
www.astronomia.sk | www.biologia.sk | www.botanika.sk | www.dejiny.sk | www.economy.sk | www.elektrotechnika.sk | www.estetika.sk | www.farmakologia.sk | www.filozofia.sk | Fyzika | www.futurologia.sk | www.genetika.sk | www.chemia.sk | www.lingvistika.sk | www.politologia.sk | www.psychologia.sk | www.sexuologia.sk | www.sociologia.sk | www.veda.sk I www.zoologia.sk